home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / graphics / raytracing / texturestudio / install < prev    next >
Text File  |  1995-04-22  |  10KB  |  531 lines

  1. ; TextureStudio Installer Utility
  2. ;
  3. ; This script is Copyright ©1995 Andy Dean and Graham Dean
  4. ;
  5.  
  6. (
  7.     ; Ask where to install it...
  8.  
  9.     (set destdir
  10.         (askdir
  11.             (prompt "Select where you would like to install "
  12.                 "TextureStudio. A drawer called 'TextureStudio' will "
  13.                 "be created here.")
  14.             (help "TextureStudio and all necessary files will be "
  15.                 "installed in the directory of your choice. You "
  16.                 "may wish to create a new directory for "
  17.                 "TextureStudio by using the 'Make New Drawer' "
  18.                 "gadget.\n\n"
  19.                 "You may install this version over your existing "
  20.                 "version of TextureStudio, but you will loose your "
  21.                 "current preference settings and some of your "
  22.                 "files may be overwritten with more recent "
  23.                 "versions. This may be undesirable if you have "
  24.                 "customised your 'Blank_tsrx' file for example.")
  25.             (default @default-dest)
  26.             (disk)
  27.         )
  28.     )
  29.  
  30.     (set destdir
  31.         (tackon destdir "TextureStudio")
  32.     )
  33.  
  34.     (set @default-dest destdir)
  35.  
  36.     ; See whether this directory exists, if so warn the user
  37.  
  38.     (if (exists @default-dest) 
  39.         (
  40.             (if (= 0 (askbool
  41.                     (prompt "The 'TextureStudio' directory "
  42.                         "already exists, overwrite?")
  43.                     (help "You may stop the install to "
  44.                         "avoid overwriting your current "
  45.                         "version of TextureStudio.\n\n"
  46.                         "Continuing the install will "
  47.                         "overwrite your current files "
  48.                         "and you will loose your current "
  49.                         "preferences.")
  50.                     (choices "Yes" "Quit")
  51.                 ))
  52.  
  53.                 (
  54.  
  55.                 ; User wishes to quit
  56.  
  57.                 (exit (quiet))
  58.                 )
  59.  
  60.             )
  61.         )
  62.     )
  63.  
  64.     (message "TextureStudio will be installed in " @default-dest)
  65.  
  66.     ; Set up decompressor to work with
  67.  
  68.     (complete 0)
  69.  
  70.     (working "Setting up files...")
  71.  
  72.     ; Copy LX to ram disk if it is not already present
  73.  
  74.     (if (= 0 (exists "ram:LX"))
  75.         (
  76.             (copyfiles
  77.                 (source (""))
  78.                 (dest ("ram:"))
  79.                 (choices "LX")
  80.             )
  81.  
  82.             (set dellx 1)
  83.         )
  84.  
  85.         (
  86.             (set dellx 0)
  87.         )
  88.     )
  89.  
  90.     ; Copy pcefis to ram disk if it is not already present
  91.  
  92.     (if (= 0 (exists "ram:pcefis"))
  93.         (
  94.             (copyfiles
  95.                 (source (""))
  96.                 (dest ("ram:"))
  97.                 (choices "pcefis")
  98.             )
  99.  
  100.             (set delpcefis 1)
  101.         )
  102.  
  103.         (
  104.             (set delpcefis 0)
  105.         )
  106.     )
  107.  
  108.     (working "Installing TextureStudio Program...")
  109.  
  110.     ; Create the directory if it doesn't exist
  111.  
  112.     (if (= 0 (exists @default-dest))
  113.         (
  114.             (makedir @default-dest
  115.                 (prompt "Creating 'TextureStudio' directory")
  116.                 (infos)
  117.             )
  118.         )
  119.     )
  120.     (working "Decompressing TextureStudio executable...")
  121.  
  122.     ; Install the executable and prefs file
  123.  
  124.     (
  125.         (run ("ram:pcefis TextureStudio.lha \"%s\""
  126.                 @default-dest)
  127.         )
  128.     )
  129.  
  130.     (complete 10)
  131.  
  132.     ; Create Parameters and Renders directories
  133.  
  134.     (set parametersdir (tackon @default-dest "Parameters"))
  135.     (set rendersdir (tackon @default-dest "Renders"))
  136.  
  137.     (if (= 0 (exists parametersdir))
  138.         (
  139.             (makedir parametersdir
  140.                 (prompt "Creating 'Parameters' directory")
  141.                 (infos)
  142.             )
  143.         )
  144.     )
  145.  
  146.     (if (= 0 (exists rendersdir))
  147.         (
  148.             (makedir rendersdir
  149.                 (prompt "Creating 'Renders' directory")
  150.                 (infos)
  151.             )
  152.         )
  153.     )
  154.  
  155.     ; Install axis settings
  156.  
  157.     (complete 20)
  158.  
  159.     (set axisdir (tackon @default-dest "Axis"))
  160.     (set doaxis 1)
  161.  
  162.     (if (= 0 (exists axisdir))
  163.         (
  164.             (makedir axisdir
  165.                 (prompt "Creating 'Axis' directory")
  166.                 (infos)
  167.             )
  168.         )
  169.  
  170.         ; Warn user about overwriting existing Axis
  171.  
  172.         (
  173.             (if (askbool
  174.                 (prompt "Existing 'Axis' directory found. "
  175.                     "Overwrite existing axis settings?")
  176.                 (help "If you don't wish to overwrite your "
  177.                     "current axis settings, skip this "
  178.                     "part of the installation process.")
  179.                 (choices "Yes" "Skip this part")
  180.                 )
  181.  
  182.                 ; If chosen overwrite
  183.  
  184.                 (
  185.                     (set doaxis 1)
  186.                 )
  187.  
  188.                 ; If chosen skippy
  189.  
  190.                 (
  191.                     (set doaxis 0)
  192.                 )
  193.             )
  194.         )
  195.     )
  196.  
  197.     (if doaxis
  198.         (
  199.             (working "Decompressing axis settings...")
  200.  
  201.             (run ("ram:pcefis Axis.lha \"%s\""
  202.                 axisdir))
  203.         )
  204.     )
  205.  
  206.     ; Install Settings
  207.  
  208.     (complete 30)
  209.  
  210.     (set settingsdir (tackon @default-dest "Settings"))
  211.     (set dosettings 1)
  212.  
  213.     (if (= 0 (exists settingsdir))
  214.         (
  215.             (makedir settingsdir
  216.                 (prompt "Creating 'Settings' directory")
  217.                 (infos)
  218.             )
  219.         )
  220.  
  221.         ; Warn user about overwriting existing Settings
  222.  
  223.         (
  224.             (if (askbool
  225.                 (prompt "Existing 'Settings' directory found. "
  226.                     "Overwrite existing settings?")
  227.                 (help "If you don't wish to overwrite your "
  228.                     "current settings, skip this "
  229.                     "part of the installation process.")
  230.                 (choices "Yes" "Skip this part")
  231.                 )
  232.  
  233.                 ; If chosen overwrite
  234.  
  235.                 (
  236.                     (set dosettings 1)
  237.                 )
  238.  
  239.                 ; If chosen skippy
  240.  
  241.                 (
  242.                     (set dosettings 0)
  243.                 )
  244.             )
  245.         )
  246.     )
  247.  
  248.     (if dosettings
  249.         (
  250.             (working "Decompressing settings...")
  251.  
  252.             (run ("ram:pcefis Settings.lha \"%s\""
  253.                 settingsdir))
  254.         )
  255.     )
  256.  
  257.     ; Install ARexx scripts
  258.  
  259.     (complete 50)
  260.  
  261.     (set rexxdir (tackon @default-dest "Rexx"))
  262.     (set dorexx 1)
  263.  
  264.     (if (= 0 (exists rexxdir))
  265.         (
  266.             (makedir rexxdir
  267.                 (prompt "Creating 'Rexx' directory")
  268.                 (infos)
  269.             )
  270.         )
  271.  
  272.         ; Warn user about overwriting existing Rexx scripts
  273.  
  274.         (
  275.             (if (askbool
  276.                 (prompt "Existing 'Rexx' directory found. "
  277.                     "Overwrite existing ARexx scripts?")
  278.                 (help "If you don't wish to overwrite your "
  279.                     "current ARexx scripts, skip this "
  280.                     "part of the installation process.")
  281.                 (choices "Yes" "Skip this part")
  282.                 )
  283.  
  284.                 ; If chosen overwrite
  285.  
  286.                 (
  287.                     (set dorexx 1)
  288.                 )
  289.  
  290.                 ; If chosen skippy
  291.  
  292.                 (
  293.                     (set dorexx 0)
  294.                 )
  295.             )
  296.         )
  297.     )
  298.  
  299.     (if dorexx
  300.         (
  301.             (working "Decompressing ARexx scripts...")
  302.  
  303.             (run ("ram:pcefis Rexx.lha \"%s\""
  304.                 rexxdir))
  305.         )
  306.     )
  307.  
  308.     ; Install textures
  309.  
  310.     (complete 60)
  311.  
  312.     (set texturesdir (tackon @default-dest "Textures"))
  313.     (set dotextures 1)
  314.  
  315.     (if (= 0 (exists texturesdir))
  316.         (
  317.             (makedir texturesdir
  318.                 (prompt "Creating 'Textures' directory")
  319.                 (infos)
  320.             )
  321.         )
  322.  
  323.         ; Warn user about overwriting existing Rexx scripts
  324.  
  325.         (
  326.             (if (askbool
  327.                 (prompt "Existing 'Textures' directory found. "
  328.                     "Overwrite existing textures?")
  329.                 (help "If you don't wish to overwrite your "
  330.                     "current textures, skip this "
  331.                     "part of the installation process.")
  332.                 (choices "Yes" "Skip this part")
  333.                 )
  334.  
  335.                 ; If chosen overwrite
  336.  
  337.                 (
  338.                     (set dotextures 1)
  339.                 )
  340.  
  341.                 ; If chosen skippy
  342.  
  343.                 (
  344.                     (set dotextures 0)
  345.                 )
  346.             )
  347.         )
  348.     )
  349.  
  350.     (if dotextures
  351.         (
  352.             (working "Decompressing textures...")
  353.  
  354.             (run ("ram:pcefis Textures.lha \"%s\""
  355.                 texturesdir))
  356.         )
  357.     )
  358.  
  359.     ; Ask whether should install render screens
  360.  
  361.     (complete 70)
  362.  
  363.     (set renderscreens
  364.         (askbool
  365.             (prompt "Do you want the demo render screens installed?")
  366.             (help "The demo render screens give some examples of the "
  367.                   "images that can be created with TextureStudio. "
  368.                   "They are not necessary for the operation of "
  369.                   "program.")
  370.             (choices "Yes" "Skip this part")
  371.         )
  372.     )
  373.  
  374.     ; Create directory if needed
  375.  
  376.     (set renderscreensdir (tackon @default-dest "RenderScreens"))
  377.  
  378.     (if (= 0 (exists renderscreensdir))
  379.         (
  380.             (makedir renderscreensdir
  381.                 (prompt "Creating 'RenderScreens' directory")
  382.                 (infos)
  383.             )
  384.         )
  385.     )
  386.  
  387.     (if renderscreens
  388.         (
  389.             ; Decompress the pics files
  390.  
  391.             (working "Decompressing render screens...")
  392.  
  393.             (run ("ram:pcefis RenderScreens.lha \"%s\""
  394.                 renderscreensdir))
  395.         )
  396.     )
  397.  
  398.     ; Copy keyfile if it exists
  399.  
  400.     (if (exists "TextureStudio.keyfile")
  401.         (
  402.             (copyfiles
  403.                 (source "TextureStudio.keyfile")
  404.                 (dest @default-dest)
  405.             )
  406.  
  407.             (set foundkeyfile (""))
  408.         )
  409.  
  410.         ; Else, note we didn't find one
  411.  
  412.         (
  413.             (set foundkeyfile (cat "No keyfile was found during "
  414.                 "installation. For details of how to register "
  415.                 "and receive the full version, refer to the "
  416.                 "documentation."))
  417.         )
  418.     )
  419.  
  420.     ; Ask user what documentation the user wishes
  421.  
  422.     (set docchoice
  423.         (askoptions
  424.             (prompt "Which formats of documentation would you like "
  425.                 "installing in your 'Docs' directory?")
  426.             (help    "TextureStudio.txt is the ASCII (plain text) "
  427.                 "documentation file.\n\n"
  428.                 "TextureStudio.guide documentation is the "
  429.                 "AmigaGuide format.\n\n"
  430.                 "TextureStudio.ps is the documentation in PostScript "
  431.                 "format.\n\n"
  432.                 "TextureStudio.dvi is for use with the Amiga TeX "
  433.                 "package.")
  434.             (choices "TextureStudio.txt" "TextureStudio.guide"
  435.                  "TextureStudio.ps" "TextureStudio.dvi")
  436.             (default 3)
  437.         )
  438.     )
  439.  
  440.     ; Create directory if needed
  441.  
  442.     (set docsdir (tackon @default-dest "Docs"))
  443.  
  444.     (if (= 0 (exists docsdir))
  445.         (
  446.             (makedir docsdir
  447.                 (prompt "Creating 'Docs' directory")
  448.                 (infos)
  449.             )
  450.         )
  451.     )
  452.  
  453.     ; Copy the history file into the docs directory
  454.  
  455.     (complete 80)
  456.  
  457.     (copyfiles
  458.         (source "")
  459.         (dest docsdir)
  460.         (choices "History.txt" "ImageStudio.ilbm" )
  461.         (infos)
  462.     )
  463.  
  464.     ; See if we want to install the TextureStudio.txt doc
  465.  
  466.     (if (= 1 (IN docchoice 0))
  467.         (
  468.             (working "Decompressing ASCII documentation...")
  469.  
  470.             (run ("ram:pcefis DocTXT.lha \"%s\""
  471.                 docsdir))
  472.         )
  473.     )
  474.  
  475.     ; See if we want to install the TextureStudio.guide doc
  476.  
  477.     (if (= 2 (IN docchoice 1))
  478.         (
  479.             (working "Decompressing AmigaGuide documentation...")
  480.  
  481.             (run ("ram:pcefis DocGUIDE.lha \"%s\""
  482.                 docsdir))
  483.         )
  484.     )
  485.  
  486.     ; See if we want to install the TextureStudio.ps doc
  487.  
  488.     (if (= 4 (IN docchoice 2))
  489.         (
  490.             (working "Decompressing PostScript documentation...")
  491.  
  492.             (run ("ram:pcefis DocPS.lha \"%s\""
  493.                 docsdir))
  494.         )
  495.     )
  496.  
  497.     ; See if we want to install the TextureStudio.dvi doc
  498.  
  499.     (if (= 8 (IN docchoice 3))
  500.         (
  501.             (working "Decompressing DVI documentation...")
  502.  
  503.             (run ("ram:pcefis DocDVI.lha \"%s\""
  504.                 docsdir))
  505.         )
  506.     )
  507.  
  508.     (complete 100)
  509.  
  510.     ; Say goodbye
  511.  
  512.     (if (<> foundkeyfile "")
  513.         (
  514.             (message foundkeyfile)
  515.         )
  516.     )
  517.  
  518.     ; Cleanup
  519.  
  520.     (if (= 1 dellx)
  521.         (
  522.             (delete ("ram:LX"))
  523.         )
  524.     )
  525.     (if (= 1 delpcefis)
  526.         (
  527.             (delete ("ram:pcefis"))
  528.         )
  529.     )
  530. )
  531.